package com.simple.mybaits.simplemybatis.session;

import com.simple.mybaits.simplemybatis.statement.MapperStatement;

import java.io.Serializable;
import java.util.List;

/**
 * @author :  zxj
 * @package :  com.simple.mybaits.simplemybatis
 * @date :  2018/5/21
 * @description : demo
 */
public interface SqlSession {

    /**
     * 查询一个list集合
     */
    <T> List<T>  selectList(MapperStatement mapperStatement,Object[] objects);

    /**
     * 查询一个
     */
    <T> T selectOne(String statement);

    /**
     * 插入一条记录
     */
    int insert(String statement);

    /**
     * 更新一条记录
     */
    int update(String statement);

    /**
     * 删除一条记录
     */
    int delete(Serializable id);

    /**
     * 获取Mapper
     */
    <T> T getMapper(Class<?> clazz);

}
